package com.itheima.d1_char_stream;
import java.io.FileWriter;
import java.io.Writer;

/**
 * 目标：搞清楚字符输出流使用时的注意事项。
 *
 * 1、字符输出流使用完毕后需要调用close方法或者flush方法才能将流中数据写到文件中
 *
 *
 * 字符输出流底层当写出数据时不是直接写到文件中，而是先写到缓存中（内存中的一个数组 ---> 长度为8192）
 * 当调用flush方法或者close方法，或者缓存中已经满了，就会将缓存的数据写到文件中
 *
 * flush 和 close 的区别：
 *      1、close：释放资源，关闭资源。在关闭资源前会进行刷新，关闭之后，流就不能再用
 *      2、flush：刷新资源，不会关闭资源。刷新之后，流可以继续使用
 */
public class FileWriterTest3 {
    public static void main(String[] args) throws Exception {
        FileWriter fw = new FileWriter("day10io-app2/file/hello.txt");

//        fw.write('a');
//        fw.write('b');
//        fw.flush();

        for (int i = 0; i < 8192; i++) {
            fw.write('a');
        }
        fw.write('b');
        fw.flush();
    }
}
